Single and Multi-Project CMA
C and C++ allow executables to be built either in a single step, or in multiple steps e.g. by adding libraries into the definition of the executable. The libraries and the executable are all separate code projects, with the build scripts set up to build them sequentially, rather than as a single unit.
Helix QAC projects normally correspond to code projects. If the executable is built from several libraries, there would often be a Helix QAC project for each library, as well as a Helix QAC project for the executable itself.
In the context of CMA, it is important to work with what will become a build-able entity, for example a final executable with all libraries linked. RCMA needs to see all the code that will be made into the executable, including code within the libraries that are built into the executable. This means that RCMA may need to work with several Helix QAC projects. To allow for this a CMA Solution can be created that contains one or more individual Helix QAC projects. Refer to CMA Solution Editor, which describes how to set up a CMA Solution.
Not all C and C++ executables are built on several steps. Often, there is just a single code project that contains all the code that goes into the executable. There would then just be a single Helix QAC project corresponding to this code project, which contains all the code files. It is possible to create a CMA Solution that contains just the one Helix QAC project. However, to keep things simple, Helix QAC provides the ability to run the CMA checks against a single Helix QAC project, rather than a CMA Solution. Running RCMA against a Helix QAC project is called "Single-Project CMA"; running RCMA against a CMA Solution is called "Multi-Project CMA Solution".